Next: Case Changes, Previous: Block Boundary Check, Up: Actions [Contents][Index]
Some operators can be automatically surrounded by spaces. This
can happen when the operator is typed, or later when the line is
indented. IDLWAVE can pad the operators
‘<’, ‘>’,
‘,’, ‘=’, and
‘->’, as well as the modified
assignment operators (‘AND=’,
‘OR=’, etc.). This feature is turned off
by default. If you want to turn it on, customize the variables
idlwave-surround-by-blank and
idlwave-do-actions and turn both on. You can also
define similar actions for other operators by using the function
idlwave-action-and-binding in the mode hook. For
example, to enforce space padding of the
‘+’ and ‘*’
operators (outside of strings and comments, of course), try this
in .emacs
(add-hook 'idlwave-mode-hook
(lambda ()
(setq idlwave-surround-by-blank t) ; Turn this type of actions on
(idlwave-action-and-binding "*" '(idlwave-surround 1 1))
(idlwave-action-and-binding "+" '(idlwave-surround 1 1))))
Note that the modified assignment operators which begin with a
word (‘AND=’,
‘OR=’, ‘NOT=’,
etc.) require a leading space to be recognized (e.g.,
vAND=4 would be interpreted as a variable
vAND). Also note that since, e.g., >
and >= are both valid operators, it is impossible
to surround both by blanks while they are being typed. Similarly
with & and &&. For these, a
compromise is made: the padding is placed on the left, and if the
longer operator is keyed in, on the right as well (otherwise you
must insert spaces to pad right yourself, or press simply press
Tab to repad everything if idlwave-do-actions is
on).
nil)Non-nil means enable
idlwave-surround. If non-nil,
‘=’,
‘<’,
‘>’,
‘&’,
‘,’,
‘->’, and the modified assignment
operators (‘AND=’,
‘OR=’, etc.) are surrounded with
spaces by idlwave-surround.
t)Non-nil means space-pad the
‘=’ in keyword assignments.
Next: Case Changes, Previous: Block Boundary Check, Up: Actions [Contents][Index]